File include option

When the file include option is configured, SNiFF+ also resolves Fortran include statements found in a project's source files. As a result, parsing will be slower (since additional files must be parsed). On the other hand, more exact cross referencing information is delivered by the parser to SNiFF+'s Symbol Table and consequently to the various browsing tools.
Browsing with file include option switched off
To demonstrate how the file include option works, let's first see what happens when this option is NOT configured.

In the Source Editor's Symbol List, click

GSCCOM to position the cursor to subroutine's definition.
Choose Info > GSCCOM Refers-To to see which symbols are referred to by the subroutine.
The Cross Referencer appears.
Scroll down the Cross Referencer's Graph view or the Symbol List until you come to a reference to the symbol BOHR .
As we know from last chapter, BOHR is a parameter defined in para.inc and referred to by subroutine GSCCOM in the file evclid3.f . However, both the Graph view and the Symbol List tell us that BOHR is an undefined local variable. See also Abbreviations used in the Cross Referencer -- page 18 :

Explanation
Since the file include option is not configured, no persistent cross reference information about

BOHR was stored when the parser parsed evclid3.f and para.inc . As a result, SNiFF+ treats the two occurrences of BOHR in the project as independent of each other.
In evclid3.f , BOHR was implicitly declared a local variable during parsing since no definition of it was found. In para.inc ., BOHR was correctly declared as a parameter.
Browsing with file include option switched on
To switch on the file include option and browse the project:

In the Project Editor, make sure that all three projects in the Project Tree are checkmarked and choose Project > Attributes of Checkmarked Projects....
The Group Project Attributes dialog appears. You can use this dialog to modify the attributes of all the projects checkmarked in the Project Tree at one time.
Select the Parser node.
In the Parser view, select the Preprocess Source Code before Parsing check box. Also select the check box directly to its right.
Clicking on the Preprocess Source Code before Parsing check box activates the file include option. Clicking on the check box to its right activates this option for all the checkmarked projects.
The Group Project Attributes dialog on your screen should now look like this:

4. Press the Set for All button to apply the settings to the checkmarked projects.
5. From the Build Options node, select Directives.
6. Click on the check box to the right of the Generate button and press the Set for All button to apply the setting to the checkmarked projects.
   This generates the include paths for the checkmarked projects. The include path will be entered into the Include Directive(s) field next to the Generate button.
7. Press the Ok button to apply the settings.
   A dialog appears, in which you are asked whether Makefiles should be updated.
8. Press No, as you will be updating Makefiles at a later time in this tutorial.
   In the Project Tree of the Project Editor, all the projects are now indicated as being modified.
9. Use the Launch Pad to save

Fortran.shared and its subprojects.
In the Project Editor, choose Project > Force Reparse to reparse all project files. In the dialog that appears, press Yes to confirm the force reparse.
In general, it is unnecessary to execute this command to reparse your project files, since SNiFF+ itself reparses your project files when changes have been made to them.
Now, perform steps 1 through 3 from the section Browsing with file include option switched off. When you are done, BOHR should be listed as a parameter in the Cross Referencer:

We recommend that you switch on the parser include option when you create new SNiFF+ projects for your Fortran source code. This will guarantee that cross referencing information is exact. However, please be aware that parsing will take longer as a result.

| Note
| The file include option does not affect the functionality of the Include Browser. Includes are always shown in the Include Browser regardless of the state of the Preprocess Source Code before Parsing check box.